package week_5.homework;
/*程序设计项目pp9.3，修改本章中所示的排序法（选择、插入、冒泡、快速、归并）
 * 在每个排序法中添加代码以使得他们能够对总的比较次数和每一算法的总执行时间进行计数。
 * 在同一列表上执行这些排序算法，并记录下有关每一算法总比较次数和总执行时间的信息。
 * 请尝试使用不同的列表，且至少包括一个已经排好序的列表。*/
public class NewSortingTest {
    public static void main(String[] args) {

        String list[] = {"从前","昨天","今天","明天","未来"};

        Integer list1[] = {12,23,34,45,56,67,78,89};

        Double list2[] = {2.34,4.2,1.2,2.0,8.1,6.4};

        System.out.println("在同一列表上执行这些排序算法（list2）");
        System.out.println("使用选择排序：");
        NewSorting.selectionSort(list2);
        System.out.println();
        System.out.println("使用插入排序：");
        NewSorting.insertionSort(list2);
        System.out.println();
        System.out.println("使用冒泡排序：");
        NewSorting.bubbleSort(list2);
        System.out.println();
        System.out.println("使用快速排序：");
        NewSorting.quickSort(list2);
        System.out.println();
        System.out.println("使用归并排序：");
        NewSorting.mergeSort(list2);
        System.out.println();

        for(double number:list2)
            System.out.print(number+" ");

        System.out.println();
        System.out.println("尝试使用不同的列表，且至少包括一个已经排好序的列表");
        System.out.println("使用快速排序来对一个字符串列表进行排序：");
        NewSorting.quickSort(list);
        for(String line:list)
            System.out.print(line+"\t");
        System.out.println();

        System.out.println("使用归并排序来对一个整数型列表进行排序：");
        NewSorting.mergeSort(list1);
        for(int number:list1)
            System.out.print(number+"\t");
    }
}
